package cn.edu.neusoft.model.event.eventSubcribe;

import lombok.Data;

import java.util.List;

@Data
public class SubscribeRequest {
    private Param param;
    @Data
    public static class Param{
        private List<Monitor> monitors;
        private Subsystem subsystem;
        @Data
        public static class Monitor{
            private String monitor;
            private String monitorType="url";
            private List<Event> events;
            @Data
            public static class Event{
                private String category;
                private List<Authority>authorities;

                private List<Integer> grades;
                private Integer subscribeAll=1;
                private Integer domainSubscribe=2;
                private Integer scheme;
                private Integer eventType;
                @Data
                public static class Authority{
                    private List<String> types;
                    private List<String> orgs;
                    private List<String> nodeCodes;
                }
            }
        }
        @Data
        public static class Subsystem{
            private Integer subsystemType=0;
            private String name;
            private String magic;
        }
    }

}
